<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<title>DynamoRIO API: drmgr.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DynamoRIO API
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('drmgr_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">drmgr.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Header for DynamoRIO Multi-Instrumentation Manager Extension.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__drmgr__priority__t.html">_drmgr_priority_t</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga2f4d0660d151db533782a167a03a5696"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga2f4d0660d151db533782a167a03a5696">DRMGR_PRIORITY_NAME_CLS_ENTRY</a>&#160;&#160;&#160;&quot;drmgr_cls_entry&quot;</td></tr>
<tr class="memitem:ga3c1bc6cda7eaedf679cee9e207193ef3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga3c1bc6cda7eaedf679cee9e207193ef3">DRMGR_PRIORITY_NAME_CLS_EXIT</a>&#160;&#160;&#160;&quot;drmgr_cls_exit&quot;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga20cf573c904b2885a2b65d5d3db42847"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="dr__events_8h.html#a689518ac5d1ad136b13e03012702b209">dr_emit_flags_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga20cf573c904b2885a2b65d5d3db42847">drmgr_xform_cb_t</a> )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating)</td></tr>
<tr class="memitem:ga01c9afbdf3843c508d1b4c486f2f4f19"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="dr__events_8h.html#a689518ac5d1ad136b13e03012702b209">dr_emit_flags_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga01c9afbdf3843c508d1b4c486f2f4f19">drmgr_analysis_cb_t</a> )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating, OUT void **user_data)</td></tr>
<tr class="memitem:gacb8f7568c015abb3c26c78983bb7c533"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__drmgr.html#ga01c9afbdf3843c508d1b4c486f2f4f19">drmgr_analysis_cb_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gacb8f7568c015abb3c26c78983bb7c533">drmgr_app2app_ex_cb_t</a></td></tr>
<tr class="memitem:ga434156c1ee1f2d695f8d897ede5afa50"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="dr__events_8h.html#a689518ac5d1ad136b13e03012702b209">dr_emit_flags_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga434156c1ee1f2d695f8d897ede5afa50">drmgr_ilist_ex_cb_t</a> )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating, void *user_data)</td></tr>
<tr class="memitem:ga17d7b1dae48792e4cc8b5b751850ac83"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="dr__events_8h.html#a689518ac5d1ad136b13e03012702b209">dr_emit_flags_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga17d7b1dae48792e4cc8b5b751850ac83">drmgr_insertion_cb_t</a> )(void *drcontext, void *tag, instrlist_t *bb, <a class="el" href="structinstr__t.html">instr_t</a> *inst, bool for_trace, bool translating, void *user_data)</td></tr>
<tr class="memitem:ga85630d78f521678da499f26dc5cda5aa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__drmgr__priority__t.html">_drmgr_priority_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gae3531e42d6cde87d19a63801ab6b9230"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gae3531e42d6cde87d19a63801ab6b9230">drmgr_bb_phase_t</a> { <br/>
&#160;&#160;<a class="el" href="group__drmgr.html#ggae3531e42d6cde87d19a63801ab6b9230ae5168599a479256d3b95839f57e5b985">DRMGR_PHASE_NONE</a>, 
<br/>
&#160;&#160;<a class="el" href="group__drmgr.html#ggae3531e42d6cde87d19a63801ab6b9230a7eb5e7bcc7f6d533bcb8dcc10389441e">DRMGR_PHASE_APP2APP</a>, 
<br/>
&#160;&#160;<a class="el" href="group__drmgr.html#ggae3531e42d6cde87d19a63801ab6b9230a242a4f07729fd4b18c296263a7308faf">DRMGR_PHASE_ANALYSIS</a>, 
<br/>
&#160;&#160;<a class="el" href="group__drmgr.html#ggae3531e42d6cde87d19a63801ab6b9230a71f2ee3487696c6f969b06920b883dee">DRMGR_PHASE_INSERTION</a>, 
<br/>
&#160;&#160;<a class="el" href="group__drmgr.html#ggae3531e42d6cde87d19a63801ab6b9230ad4dab0dd27bdccf8b9d70727c9da5792">DRMGR_PHASE_INSTRU2INSTRU</a>
<br/>
 }</td></tr>
<tr class="memitem:ga0944a4353780132eeab7b06e3e42291d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="group__drmgr.html#gga0944a4353780132eeab7b06e3e42291dadd063e5cb4ba9119fe2583d6088d7174">DRMGR_PRIORITY_INSERT_CLS_ENTRY</a> =  -500, 
<br/>
&#160;&#160;<a class="el" href="group__drmgr.html#gga0944a4353780132eeab7b06e3e42291da3ea29c4c2dcc8e8b7cabf5b39fd5c179">DRMGR_PRIORITY_INSERT_CLS_EXIT</a> =  5000
<br/>
 }</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga07ab03a2182247922f756778d18bb3fd"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga07ab03a2182247922f756778d18bb3fd">drmgr_init</a> (void)</td></tr>
<tr class="memitem:ga1e27214f63289548497d25c9e628a5d7"><td class="memItemLeft" align="right" valign="top">DR_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga1e27214f63289548497d25c9e628a5d7">drmgr_exit</a> (void)</td></tr>
<tr class="memitem:gae270eeb1ab24d4e05f8588b23822f45c"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gae270eeb1ab24d4e05f8588b23822f45c">drmgr_register_bb_app2app_event</a> (<a class="el" href="group__drmgr.html#ga20cf573c904b2885a2b65d5d3db42847">drmgr_xform_cb_t</a> func, <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga22a83c67e54d71259e42b8e10abe62d6"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga22a83c67e54d71259e42b8e10abe62d6">drmgr_unregister_bb_app2app_event</a> (<a class="el" href="group__drmgr.html#ga20cf573c904b2885a2b65d5d3db42847">drmgr_xform_cb_t</a> func)</td></tr>
<tr class="memitem:ga83a5fc96944e10bd7356e0c492c93966"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga83a5fc96944e10bd7356e0c492c93966">drmgr_register_bb_instrumentation_event</a> (<a class="el" href="group__drmgr.html#ga01c9afbdf3843c508d1b4c486f2f4f19">drmgr_analysis_cb_t</a> analysis_func, <a class="el" href="group__drmgr.html#ga17d7b1dae48792e4cc8b5b751850ac83">drmgr_insertion_cb_t</a> insertion_func, <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:gaff08fa96e523f613b7371835c5025422"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaff08fa96e523f613b7371835c5025422">drmgr_unregister_bb_instrumentation_event</a> (<a class="el" href="group__drmgr.html#ga01c9afbdf3843c508d1b4c486f2f4f19">drmgr_analysis_cb_t</a> func)</td></tr>
<tr class="memitem:ga2f1f4cb66a41c81a12a8b37ba96083de"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga2f1f4cb66a41c81a12a8b37ba96083de">drmgr_register_bb_instru2instru_event</a> (<a class="el" href="group__drmgr.html#ga20cf573c904b2885a2b65d5d3db42847">drmgr_xform_cb_t</a> func, <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga4c692eb44a082c09833d13ed85360814"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga4c692eb44a082c09833d13ed85360814">drmgr_unregister_bb_instru2instru_event</a> (<a class="el" href="group__drmgr.html#ga20cf573c904b2885a2b65d5d3db42847">drmgr_xform_cb_t</a> func)</td></tr>
<tr class="memitem:ga26e4be9f62ffd954f2f95ba21ec92953"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga26e4be9f62ffd954f2f95ba21ec92953">drmgr_register_bb_instrumentation_ex_event</a> (<a class="el" href="group__drmgr.html#gacb8f7568c015abb3c26c78983bb7c533">drmgr_app2app_ex_cb_t</a> app2app_func, <a class="el" href="group__drmgr.html#ga434156c1ee1f2d695f8d897ede5afa50">drmgr_ilist_ex_cb_t</a> analysis_func, <a class="el" href="group__drmgr.html#ga17d7b1dae48792e4cc8b5b751850ac83">drmgr_insertion_cb_t</a> insertion_func, <a class="el" href="group__drmgr.html#ga434156c1ee1f2d695f8d897ede5afa50">drmgr_ilist_ex_cb_t</a> instru2instru_func, <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga6980f5fdc8f1f74ecaca53d0ef49c16a"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga6980f5fdc8f1f74ecaca53d0ef49c16a">drmgr_unregister_bb_instrumentation_ex_event</a> (<a class="el" href="group__drmgr.html#gacb8f7568c015abb3c26c78983bb7c533">drmgr_app2app_ex_cb_t</a> app2app_func, <a class="el" href="group__drmgr.html#ga434156c1ee1f2d695f8d897ede5afa50">drmgr_ilist_ex_cb_t</a> analysis_func, <a class="el" href="group__drmgr.html#ga17d7b1dae48792e4cc8b5b751850ac83">drmgr_insertion_cb_t</a> insertion_func, <a class="el" href="group__drmgr.html#ga434156c1ee1f2d695f8d897ede5afa50">drmgr_ilist_ex_cb_t</a> instru2instru_func)</td></tr>
<tr class="memitem:ga75f5e22831cb18cb7fbb8316cd56f09f"><td class="memItemLeft" align="right" valign="top">DR_EXPORT <a class="el" href="group__drmgr.html#gae3531e42d6cde87d19a63801ab6b9230">drmgr_bb_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga75f5e22831cb18cb7fbb8316cd56f09f">drmgr_current_bb_phase</a> (void *drcontext)</td></tr>
<tr class="memitem:ga512b4290d94b1874537e5b604cb27cab"><td class="memItemLeft" align="right" valign="top">DR_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga512b4290d94b1874537e5b604cb27cab">drmgr_register_tls_field</a> (void)</td></tr>
<tr class="memitem:ga0389d904f0e656f8a8777d850e6187f3"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga0389d904f0e656f8a8777d850e6187f3">drmgr_unregister_tls_field</a> (int idx)</td></tr>
<tr class="memitem:gade57b8de9ed73d579044aa8f12abfe8d"><td class="memItemLeft" align="right" valign="top">DR_EXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gade57b8de9ed73d579044aa8f12abfe8d">drmgr_get_tls_field</a> (void *drcontext, int idx)</td></tr>
<tr class="memitem:gac92542bc4f09040f3085079e68d60f66"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gac92542bc4f09040f3085079e68d60f66">drmgr_set_tls_field</a> (void *drcontext, int idx, void *value)</td></tr>
<tr class="memitem:ga7c72a35608998e6e359a3a652a7f97f7"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga7c72a35608998e6e359a3a652a7f97f7">drmgr_insert_read_tls_field</a> (void *drcontext, int idx, instrlist_t *ilist, <a class="el" href="structinstr__t.html">instr_t</a> *where, reg_id_t reg)</td></tr>
<tr class="memitem:ga65e2ae3d0f058fb069db7969e390c881"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga65e2ae3d0f058fb069db7969e390c881">drmgr_insert_write_tls_field</a> (void *drcontext, int idx, instrlist_t *ilist, <a class="el" href="structinstr__t.html">instr_t</a> *where, reg_id_t reg, reg_id_t scratch)</td></tr>
<tr class="memitem:ga933ff32be874004447af771283d0bcee"><td class="memItemLeft" align="right" valign="top">DR_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga933ff32be874004447af771283d0bcee">drmgr_register_cls_field</a> (void(*cb_init_func)(void *drcontext, bool new_depth), void(*cb_exit_func)(void *drcontext, bool thread_exit))</td></tr>
<tr class="memitem:gaab638b9a9480b505e6ae323ffb72bb1d"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaab638b9a9480b505e6ae323ffb72bb1d">drmgr_unregister_cls_field</a> (void(*cb_init_func)(void *drcontext, bool new_depth), void(*cb_exit_func)(void *drcontext, bool thread_exit), int idx)</td></tr>
<tr class="memitem:ga67585e915e3f9b555ea4382ed6027812"><td class="memItemLeft" align="right" valign="top">DR_EXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga67585e915e3f9b555ea4382ed6027812">drmgr_get_cls_field</a> (void *drcontext, int idx)</td></tr>
<tr class="memitem:ga5d3bc85402a8909c862d9c06d415f138"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga5d3bc85402a8909c862d9c06d415f138">drmgr_set_cls_field</a> (void *drcontext, int idx, void *value)</td></tr>
<tr class="memitem:gaba85528be6e0126b45a76245b6b4b001"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaba85528be6e0126b45a76245b6b4b001">drmgr_insert_read_cls_field</a> (void *drcontext, int idx, instrlist_t *ilist, <a class="el" href="structinstr__t.html">instr_t</a> *where, reg_id_t reg)</td></tr>
<tr class="memitem:gaa1d2757949d817bae787612177c00d85"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaa1d2757949d817bae787612177c00d85">drmgr_insert_write_cls_field</a> (void *drcontext, int idx, instrlist_t *ilist, <a class="el" href="structinstr__t.html">instr_t</a> *where, reg_id_t reg, reg_id_t scratch)</td></tr>
<tr class="memitem:gae2a70abba090ee410babc6a1548bb21d"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gae2a70abba090ee410babc6a1548bb21d">drmgr_push_cls</a> (void *drcontext)</td></tr>
<tr class="memitem:ga4ac55faa0a4274ab5d8ac1cbd247b569"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga4ac55faa0a4274ab5d8ac1cbd247b569">drmgr_pop_cls</a> (void *drcontext)</td></tr>
<tr class="memitem:ga4f53520da678e84fd7712e2fcca0182b"><td class="memItemLeft" align="right" valign="top">DR_EXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga4f53520da678e84fd7712e2fcca0182b">drmgr_get_parent_cls_field</a> (void *drcontext, int idx)</td></tr>
<tr class="memitem:ga057f980fa9323a0bb8a4226c7c52c14a"><td class="memItemLeft" align="right" valign="top">DR_EXPORT ptr_uint_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga057f980fa9323a0bb8a4226c7c52c14a">drmgr_reserve_note_range</a> (size_t size)</td></tr>
<tr class="memitem:ga357735ce7daa0bb717556455f20040a5"><td class="memItemLeft" align="right" valign="top">DR_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga357735ce7daa0bb717556455f20040a5">drmgr_decode_sysnum_from_wrapper</a> (app_pc entry)</td></tr>
<tr class="memitem:gaaac050cf70682f6fcb8e28aa942705cd"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaaac050cf70682f6fcb8e28aa942705cd">drmgr_register_thread_init_event</a> (void(*func)(void *drcontext))</td></tr>
<tr class="memitem:ga835120bfe4726d59d13f8fbcd01fb264"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga835120bfe4726d59d13f8fbcd01fb264">drmgr_unregister_thread_init_event</a> (void(*func)(void *drcontext))</td></tr>
<tr class="memitem:ga2d3e4b9d9e8cff8e8ec01ef44392cfdd"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga2d3e4b9d9e8cff8e8ec01ef44392cfdd">drmgr_register_thread_exit_event</a> (void(*func)(void *drcontext))</td></tr>
<tr class="memitem:ga1a83a4ecf1b6172eab85e116aef96bea"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga1a83a4ecf1b6172eab85e116aef96bea">drmgr_unregister_thread_exit_event</a> (void(*func)(void *drcontext))</td></tr>
<tr class="memitem:gad4c1941a911a84b4f0ec60d2c37c6862"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gad4c1941a911a84b4f0ec60d2c37c6862">drmgr_register_pre_syscall_event</a> (bool(*func)(void *drcontext, int sysnum))</td></tr>
<tr class="memitem:ga5afd374b143bb438d486c60bdf7cbc4e"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga5afd374b143bb438d486c60bdf7cbc4e">drmgr_register_pre_syscall_event_ex</a> (bool(*func)(void *drcontext, int sysnum), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga7b437d862c741e995a75dc2d59ed6e43"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga7b437d862c741e995a75dc2d59ed6e43">drmgr_unregister_pre_syscall_event</a> (bool(*func)(void *drcontext, int sysnum))</td></tr>
<tr class="memitem:ga7070ea3233d022ebf272b43a3301d130"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga7070ea3233d022ebf272b43a3301d130">drmgr_register_post_syscall_event</a> (void(*func)(void *drcontext, int sysnum))</td></tr>
<tr class="memitem:ga06a8b25b80a61e09cacaee10b6e4ef06"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga06a8b25b80a61e09cacaee10b6e4ef06">drmgr_register_post_syscall_event_ex</a> (void(*func)(void *drcontext, int sysnum), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga79da54157fa3651e28dca9a9beda358a"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga79da54157fa3651e28dca9a9beda358a">drmgr_unregister_post_syscall_event</a> (void(*func)(void *drcontext, int sysnum))</td></tr>
<tr class="memitem:gaae5e551a1571aca43c136a83fe334096"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaae5e551a1571aca43c136a83fe334096">drmgr_register_module_load_event</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info, bool loaded))</td></tr>
<tr class="memitem:gaa14585b60c28600872f76b5e2939d638"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaa14585b60c28600872f76b5e2939d638">drmgr_register_module_load_event_ex</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info, bool loaded), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga24be0b91d19115762643898a951d986e"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga24be0b91d19115762643898a951d986e">drmgr_unregister_module_load_event</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info, bool loaded))</td></tr>
<tr class="memitem:ga00e82d90a74f1f3bc87cfdaef45811c2"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga00e82d90a74f1f3bc87cfdaef45811c2">drmgr_register_module_unload_event</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info))</td></tr>
<tr class="memitem:ga852887c851db019e48cf00e232cf23ef"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga852887c851db019e48cf00e232cf23ef">drmgr_register_module_unload_event_ex</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga931bff986b8763df57f85b0f6cdfde58"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga931bff986b8763df57f85b0f6cdfde58">drmgr_unregister_module_unload_event</a> (void(*func)(void *drcontext, const <a class="el" href="struct__module__data__t.html">module_data_t</a> *info))</td></tr>
<tr class="memitem:ga984ae18ed26a72c84a0fcaaaf44e2343"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga984ae18ed26a72c84a0fcaaaf44e2343">drmgr_register_signal_event</a> (<a class="el" href="dr__events_8h.html#af86ce68b89c76d46c92d36e58ddb7a33">dr_signal_action_t</a>(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#ab49900139eb46d5dde3b2b69c175c072">dr_siginfo_t</a> *siginfo))</td></tr>
<tr class="memitem:ga81409344987ecb2ffcf08370d4a1145d"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga81409344987ecb2ffcf08370d4a1145d">drmgr_register_signal_event_ex</a> (<a class="el" href="dr__events_8h.html#af86ce68b89c76d46c92d36e58ddb7a33">dr_signal_action_t</a>(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#ab49900139eb46d5dde3b2b69c175c072">dr_siginfo_t</a> *siginfo), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga617ad3a9ed87404feb3c6afe92b81ad6"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga617ad3a9ed87404feb3c6afe92b81ad6">drmgr_unregister_signal_event</a> (<a class="el" href="dr__events_8h.html#af86ce68b89c76d46c92d36e58ddb7a33">dr_signal_action_t</a>(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#ab49900139eb46d5dde3b2b69c175c072">dr_siginfo_t</a> *siginfo))</td></tr>
<tr class="memitem:gadd41d491993daae9eb5bc136a8971d09"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gadd41d491993daae9eb5bc136a8971d09">drmgr_register_exception_event</a> (bool(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#adebe39e781c20b42f61c7d03ed560587">dr_exception_t</a> *excpt))</td></tr>
<tr class="memitem:gacf08ce7f3eab30d8c9aa0580840c569f"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gacf08ce7f3eab30d8c9aa0580840c569f">drmgr_register_exception_event_ex</a> (bool(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#adebe39e781c20b42f61c7d03ed560587">dr_exception_t</a> *excpt), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga372a2681d2f9832639d5889f55132805"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga372a2681d2f9832639d5889f55132805">drmgr_unregister_exception_event</a> (bool(*func)(void *drcontext, <a class="el" href="dr__events_8h.html#adebe39e781c20b42f61c7d03ed560587">dr_exception_t</a> *excpt))</td></tr>
<tr class="memitem:ga0ffa6aa4d9af18a42e98d15b4f82bb20"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga0ffa6aa4d9af18a42e98d15b4f82bb20">drmgr_register_restore_state_event</a> (void(*func)(void *drcontext, void *tag, <a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a> *mcontext, bool restore_memory, bool app_code_consistent))</td></tr>
<tr class="memitem:gaf52f88ecf793967022bddd447c65e66f"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gaf52f88ecf793967022bddd447c65e66f">drmgr_register_restore_state_ex_event</a> (bool(*func)(void *drcontext, bool restore_memory, <a class="el" href="dr__events_8h.html#a19a4bd60d7607be81d77f466fd8d7f49">dr_restore_state_info_t</a> *info))</td></tr>
<tr class="memitem:gabbba95c12df79ff5b4ceab3c516ded92"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#gabbba95c12df79ff5b4ceab3c516ded92">drmgr_register_restore_state_ex_event_ex</a> (bool(*func)(void *drcontext, bool restore_memory, <a class="el" href="dr__events_8h.html#a19a4bd60d7607be81d77f466fd8d7f49">dr_restore_state_info_t</a> *info), <a class="el" href="group__drmgr.html#ga85630d78f521678da499f26dc5cda5aa">drmgr_priority_t</a> *priority)</td></tr>
<tr class="memitem:ga55534858a00937feec337f7ca66c3c9e"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga55534858a00937feec337f7ca66c3c9e">drmgr_unregister_restore_state_event</a> (void(*func)(void *drcontext, void *tag, <a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a> *mcontext, bool restore_memory, bool app_code_consistent))</td></tr>
<tr class="memitem:ga5f56b07ef2216961d6d01bd06bd907ec"><td class="memItemLeft" align="right" valign="top">DR_EXPORT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drmgr.html#ga5f56b07ef2216961d6d01bd06bd907ec">drmgr_unregister_restore_state_ex_event</a> (bool(*func)(void *drcontext, bool restore_memory, <a class="el" href="dr__events_8h.html#a19a4bd60d7607be81d77f466fd8d7f49">dr_restore_state_info_t</a> *info))</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Header for DynamoRIO Multi-Instrumentation Manager Extension. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_1c2293a07c09a9e2b32ca067d36e7658.html">dynamorio_package</a></li><li class="navelem"><a class="el" href="dir_908861fef8f908da2485ad4f190715de.html">ext</a></li><li class="navelem"><a class="el" href="dir_23a4cb0850c4c4034a10a0df367310a7.html">drmgr</a></li><li class="navelem"><a class="el" href="drmgr_8h.html">drmgr.h</a></li>
    <li class="footer" style="float:none;text-align:center"><img border=0 src="favicon.png"> &nbsp;  DynamoRIO API version 5.0.0 --- Wed Sep 10 2014 21:36:44 &nbsp; <img border=0 src="favicon.png">
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
